package com.mrslu.signkk.dao;

import com.mrslu.signkk.pojo.User;
import com.mrslu.signkk.pojo.identity.UserRoleEnum;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

@Mapper
public interface UserInfoDao {

    /**
     * openId查询用户基本信息
     *
     * @param openId    微信OPENID
     * @return  用户基本信息
     */
    User getUserBaseInfoByOpenId(@Param("openId") String openId);


    /**
     * 新增一个用户基本信息
     *
     * @param orgId     机构ID
     * @param userRole  用户类型
     * @param openId    微信openId
     */
    void saveUserBaseInfo(@Param("orgId") Integer orgId, @Param("userRole") UserRoleEnum userRole, @Param("openId") String openId);


    /**
     * 更新用户信息
     *
     * @param userId    用户ID
     * @param orgId     机构ID
     * @param name      姓名
     * @param phone     手机号
     */
    void updateUserInfo(@Param("userId") Integer userId, @Param("orgId") Integer orgId, @Param("name") String name, @Param("phone") String phone);


    /**
     * 获取用户详细信息
     *
     * @param orgId     机构ID
     * @param userId    用户ID
     * @return  用户详细信息
     */
    User getUserDetailInfo(@Param("orgId") Integer orgId, @Param("userId") Integer userId);


}
